Today people rely heavily on computers. Often, computers are networked together to share resources, providing availability of the resource to multiple users, or clients. One resource that is commonly shared is data storage.
Data storage may be provided through a storage network. A storage network may be configured as a storage area network (SAN), a redundant array of independent disks (RAID), network attacked storage (NAS), or some other storage system. A storage network generally includes a variety of data storage devices (e.g., disk drives, optical drives, tape drives, etc.) and components, such as switches, hubs, bridges, storage arrays, etc. for interconnecting the data storage devices that then appear as a single resource to clients.
When one or more of the data storage devices in a storage network fails, resources provide by the storage network may become unavailable to clients or the performance of the resources may be compromised. Unavailability is particularly troublesome when there is such high reliance on data storage.
One approach to maintaining the availability of a storage network is to provide some form of redundancy of data storage devices on the network so that data storage remains available in the event of a device failure. This approach works fine so long as there is only a single failure. However, when multiple failures occur, the performance of the storage network typically suffers, because the redundancy is often only capable of accommodating single failures. Redundancy adds costs due to the need for redundant devices, so supporting redundancy for multiple failures is often a costly proposition.
Another approach is to predict device failures before they occur and undertake some preventative measure. Traditionally, however, failure prediction in a network environment has been difficult to manage, as the prediction functionality has typically been implemented with individual data storage devices. As a result, there has been a tendency at the storage network level to ignore prediction all together and focus on repairing failures after they occur.
Therefore, there continues to be a significant need for predicting the failure of data storage devices installed in a storage network thereby improving the reliability and/or availability of the data storage network.